iT邦幫忙

2

資安入門與實務應用介紹 24:常見漏洞案例解析(Heartbleed 與 Log4j)

  • 分享至 

  • xImage
  •  

前一篇提到漏洞管理與補丁的重要性,今天就用兩個真實案例來說明:
Heartbleed(OpenSSL 漏洞)Log4Shell(Log4j 漏洞)
這兩起事件都在全球造成極大影響,也成為資安史上最具代表性的漏洞之一。


一、Heartbleed(CVE-2014-0160)

1. 背景

Heartbleed 是 2014 年爆發的 OpenSSL 漏洞。
OpenSSL 是許多網站用來處理 HTTPS 加密通訊的函式庫。
漏洞出現在「Heartbeat 擴充功能」中,允許攻擊者在不經授權的情況下讀取伺服器記憶體內容。

2. 原理

  • 攻擊者傳送一個特製的「心跳請求」,但實際的資料長度與宣告不符。
  • 伺服器沒有正確驗證長度,會回傳額外的記憶體內容。
  • 這些內容可能包含密鑰、使用者密碼或敏感資料。

3. 影響

全球大量 HTTPS 伺服器受影響,包括 Yahoo、GitHub、Amazon 等。
即使使用 HTTPS 加密,私鑰與登入資訊仍可能被竊取。

4. 防禦

  • 更新至修補後版本(OpenSSL 1.0.1g 以上)。
  • 重新簽發伺服器憑證。
  • 檢查是否存在未修補版本的 OpenSSL。

二、Log4Shell(CVE-2021-44228)

1. 背景

Log4Shell 是 2021 年底爆發的 Java Log4j 函式庫漏洞。
Log4j 被廣泛用於伺服器記錄日誌,因此影響面極廣。

2. 原理

  • Log4j 在解析日誌文字時會支援 JNDI lookup
  • 攻擊者可透過傳入惡意字串,例如:
  • 伺服器在處理時會自動去下載並執行該外部代碼,導致遠端代碼執行(RCE)。

3. 影響

  • 幾乎所有使用 Log4j 的 Java 系統都可能中招。
  • 攻擊者能取得遠端存取權限,甚至控制整台伺服器。
  • 因為 Log4j 被大量應用於商用系統、雲端與 IoT,修補難度極高。

4. 防禦

  • 立即更新 Log4j 至安全版本(2.17+)。
  • 移除 JNDI lookup 功能或使用防護層(WAF 過濾)。
  • 定期掃描系統中使用的第三方套件版本。

三、兩者比較與啟示

項目 Heartbleed Log4Shell
影響層級 傳輸層(加密通訊) 應用層(程式邏輯)
攻擊方式 記憶體外洩(Information Leak) 遠端代碼執行(RCE)
發現年份 2014 2021
修補重點 更新 OpenSSL 並重簽憑證 更新 Log4j 並停用 JNDI 功能

兩者都提醒我們:

  1. 開源軟體雖便利,但安全維護不能放鬆。
  2. 漏洞不是程式語言的問題,而是更新流程與風險管理的問題。

小結

從 Heartbleed 到 Log4j,可以看到漏洞不分層級與語言,只要系統疏於更新就可能遭殃。
持續追蹤安全公告、快速修補與版本控管,是避免重演災難的唯一方式。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言